package com.gjzhao.fmmall.service;

import com.gjzhao.fmmall.vo.RespResultVO;
import com.gjzhao.fmmall.vo.ResponseResultVO;

/**
 * @Description: 商品分类 Service
 * @Author: gjzhao
 * @Date Created in 2022-01-02 9:39 上午
 */
public interface CategoryService {

    /**
     * 商品分类-三级分类列表详情
     * @return
     */
    ResponseResultVO listCategories();

    /**
     * 商品分类-三级分类列表详情(使用redis方式)
     * @return
     */
    RespResultVO listCategoriesByRedis();

    /**
     * 商品分类-三级分类列表详情(使用redis方式，高并发场景下——解决缓存击穿问题)
     * @return
     */
    RespResultVO listCategoriesByRedisByAndConcurrent1();

    /**
     * 商品分类-三级分类列表详情(使用redis方式，高并发场景下-解决缓存击穿+缓存穿透问题)
     * @return
     */
    RespResultVO listCategoriesByRedisByAndConcurrent2();

    /**
     * 查询所有一级分类列表
     * @return
     */
    ResponseResultVO listFirstLevelCategories();

    /**
     * 查询父级分类下的子分类
     * @return
     */
    ResponseResultVO listParentCategories(int parentId);

    /**
     * 查询一级分类下推荐商品列表
     * @return
     */
    ResponseResultVO listFirstLevelCategoryRecommendsProduct();

}
